home *** CD-ROM | disk | FTP | other *** search
/ HyperLib 1997 Winter - Disc 1 / HYPERLIB-1997-Winter-CD1.ISO.7z / HYPERLIB-1997-Winter-CD1.ISO / 第1特集Plug-in / Photoshop / ChrisFilters3.sit / ChrisFilters3 / Read Me Chris' Filters next >
Text File  |  1995-12-18  |  15KB  |  317 lines

  1.  
  2. All of these filters are Copyright 1995 by Chris Cox all right reserved.
  3. Permission is given to upload this archive (in its entirety) to online
  4. services that do NOT charge for specific downloads.  If you wish to
  5. distribute this archive or these filters elsewhere, contact me.
  6.  
  7. I'm releasing these filters as shareware.  If you find them useful, I'd
  8. appreciate a donation of whatever you think is appropriate (How much are
  9. they worth to you?).  Send checks to the address below.
  10.  
  11. Good news since the last release:  I now have a full-time job with
  12. Adaptive Solutions, Inc.  I will keep using my parents' address for shareware
  13. payments, since I may be apartment hopping for a few years.  I'm still
  14. writing some custom filters - but my free time is now more limited.
  15.  
  16. This release supports the Photoshop 3.0 filter specifications.
  17. These filters will not work correctly with older versions of Photoshop or
  18. compatable programs that do not accept Photoshop 3.0 plug-ins.
  19.  
  20. Have fun playing with them.  Let me know how useful and/or buggy
  21. you find them.
  22.  
  23.  
  24. Chris Cox
  25. 110 Oakland Circle
  26. Madison, AL 35758-8663
  27.  
  28. ccox@teleport.com
  29. http://www.teleport.com/~ccox/
  30. ChrisCox@aol.com
  31.  
  32.  
  33.  
  34. These filters are provided as FAT binaries containing both PPC and 68k code.
  35. For 68k machines, you must have a 68020 or newer processor but do not need
  36. an FPU.  None of these filters use or require a math coprocessor (FPU).
  37.  
  38.  
  39.  
  40. AddRight1 (Other menu)
  41. AddRight2 (Other menu)
  42.   These both add the pixel values across the image and store the sum
  43.   modulus 255.  AddRight1 treats each pixel as a number from 0 to 255.
  44.   AddRight2 treats each pixel as a number from -127 to 128.  Their effect on
  45.   photographs isn't particularly interesting, but they can be interesting on
  46.   low contrast images.  These were originally written as a test for something
  47.   else I am working on - but I figured that someone out there will find a
  48.   productive use for them (I thought nobody would ever find a use for Plaid,
  49.   but at least 2 magazines have).
  50.  
  51.  
  52. NoCopyVertical (Stylize menu)
  53. NoCopyDiagonal (Stylize menu)
  54.   The technical explanation is that they produce an approximate 50% line screen
  55.   with the line width depending on the value of the pixels in the source image.
  56.   The more useful explanation is that I wanted a way to produce those
  57.   'impossible to copy' patterns that appear in the background of many checks
  58.   and secure documents. The Vertical version produces vertical lines and the
  59.   Diagonal version produces (you guessed it) diagonal lines.
  60.  
  61.   To get an 'impossible to copy' pattern: start with a grayscale image, fill
  62.   it with a single value (preferably something between 20% and 80%), now
  63.   make a selection (type tool, lasso, whatever), fill the selection with a
  64.   different value, deselect, and run one of the filters.  All of the image
  65.   will be just about a 50% gray screen, but with the background and the
  66.   selection at different line frequencies.  If one of the regions is a coarse
  67.   line frequency and the other is a higher frequency, then a high resolution
  68.   print will not photocopy very well.  Be warned, laser printers also don't
  69.   reproduce fine patterns very well.
  70.  
  71.  
  72. BitPatterns (Stylize menu)
  73. Swirlies (Stylize menu)
  74.   Code-wise these are pretty similar to to NoCopy filters.  They both use a
  75.   combination of pixel position and value to produce a binary (black & white)
  76.   pattern.  The patterns may not be especially useful by themselves, but they
  77.   can be further manipulated to produce interesting textures.
  78.  
  79.  
  80. Hairy Noise (Noise menu)
  81.   This was an intermediate stage in the development of something else - but it
  82.   produces some interesting noise patterns.  Depending on the parameter you
  83.   enter, it can look like long hair, a waterfall, felt, all sorts of stuff.
  84.   Colorize to taste.
  85.  
  86.  
  87. SmudgeRight (Blur menu)
  88.   This simply smudges the image to the right by a specified percentage.  I wanted
  89.   a way to do this, and the KPT Smudge darken and Smudge lighten just didn't
  90.   do it.  If you need to smudge left, flip the image, apply, flip back.
  91.   If you need to smudge up or down, rotate the image, apply, and rotate it back.
  92.  
  93.  
  94. Average (Blur menu)
  95.   This filter calculates the average color within the selected region, then fills
  96.   the selection with that color.  It's that simple.  Try it on some odd pictures
  97.   and shapes - it really IS that simple.
  98.  
  99.   Basically I wanted a way to turn photographs into stained-glass style pictures,
  100.   but couldn't find a quick way to do it.  Now I make odd selections with the
  101.   lasso and then average the color within the selection - these become the glass
  102.   panes.  When I finish creating panes I increase the color saturation then 
  103.   'find edges' to create a mask for the leading between panes.
  104.  
  105.  
  106. Checkers (Other menu) 
  107.   Here is a quick way to get a regular checkered pattern over an image.  It uses
  108.   the foreground or background color to draw the blocks, and you specify the
  109.   width and height.  Wherever it doesn't draw color, it copies the existing image.
  110.  
  111.   For a 'real' checkerboard:
  112.       new image
  113.           256x256
  114.           RGB
  115.       select red as the background color
  116.       select all
  117.       hit the delete key to clear the image to red
  118.       select black as the foreground color
  119.       Filter->Other->Checkers
  120.           width 32
  121.         height 32
  122.         foreground color
  123.     it's done
  124.  
  125.   Also try setting the width and height to 1 and the color to black or white
  126.   for a really bad screening effect.
  127.  
  128.  
  129. BitShift (Other menu)
  130.   It takes the bytes that make up the image and rotates them by a specified
  131.   number of bits (1-7).  If you don't understand bit operations -- don't worry
  132.   about it.  Just try the filter on some simple (but varied) images.  I suggest
  133.   using a grayscale image (for speed) and creating a gray ramp somewhere in the
  134.   image (to show  you what is going on) and then use BitShift with a value of 1.
  135.   Then use it  again -- this is equivalent to using BitShift with a value of 2.
  136.   Keep going until you get the original image back.  Now you should have a feel
  137.   for what the filter really does.
  138.  
  139.   note: Shifting by 8 bits is identical to not doing the rotation at all, and
  140.   shifting by 7 bits is equal to shifting by -1 bits.
  141.  
  142.  
  143. Grid (Other menu)
  144.   The filter quickly puts a grid over the existing picture, with specified
  145.   spacing and widths for the horizontal and vertical lines.  You can use the
  146.   foreground or background color for the grid lines.  This was written as a
  147.   quick and dirty way to get calibration grids for image processing. Laying
  148.   down a grid over a scanned photo is a great way to play with 'Displace' and
  149.   other distortion filters.
  150.  
  151.  
  152. Add More Noise (Noise menu)
  153.   This is an extension on Adobe's 'Add Noise' filter, and gives you more control
  154.   and options. In RGB mode you can specify how much noise to add to each channel
  155.   and which channels will be modified.  In RGB mode the HSV noise is added first,
  156.   then the RGB, and gray noise (a single value added to all channels) last.
  157.   In CMYK mode, you can only control the amount of noise for each of the CMYK
  158.   channels (sorry, no HSV here, yet).
  159.  
  160.   One big advantage to this filter - the Hue noise will wrap around the color
  161.   cone, which won't happen if you convert an image to HSB to add noise and
  162.   convert it back.
  163.  
  164.   NOTE: In RGB mode, adding noise in any of the Hue, Saturation, or Value
  165.   channels will make the filter run slower (due to the RGB->HSV->RGB conversion).
  166.  
  167.  
  168. Total Noise (Noise menu)
  169.   This filter replaces the selected region of the image with random noise.
  170.   Adobe's 'Add Noise' filter does just what it says --  add noise to the values
  171.   that are already present.  'Add Noise' with it's maximum value of 999 still
  172.   won't give you fully random, uniform noise.  This filter will provide that
  173.   noise.  I use it to generate (with a lot of other operations) random
  174.   backgrounds or to multiply with existing images to add texture.
  175.   
  176.   NOTE: if you used an older version of my filters, the file was named
  177.    'Noise Filter' instead of 'Total Noise'.  If you have a plug-in named
  178.    'Noise Filter', then you need to remove it from your plug-ins folder.
  179.    (some people got confused because the filter and file had different names)
  180.  
  181.  
  182. Fractal Noise (Noise menu)
  183.   It fills the current selection with fractal noise (looks sorta like clouds or
  184.   crumpled paper).  It calculates only one channel worth of noise at a time, so
  185.   it fills color  images with gray noise.  You can do a lot with this by
  186.   altering the color with 'Hue/Saturation', 'Arbitrary Curves' or 'Levels'.
  187.  
  188.   Try this - 'Fractal Noise', 'Solarize', 'Equalize', 'Solarize', 'Equalize',
  189.   'Blur'(to clean up the edges).  Makes a nice, quick marble or lightning.
  190.  
  191.   Yes, this one is the slowest of my filters - it does a LOT of calculation
  192.   to get that noise.  It's not as simple as it looks.
  193.  
  194.   I have added the ability to choose types of fractal noise.  Each of the modes
  195.   does about the same number of calculations, but results in different types
  196.   of noise (and vastly different appearances).  The 'Add' mode is the same as
  197.   the first version of the filter.
  198.  
  199.  
  200. Plaid (Noise menu)
  201.   Here is an example of what happens when programmers type too fast:  they get
  202.   unexpected results.  This was a silly mistake that I decided to keep (and
  203.   clean up to remove what it was supposed to do).  It makes symmetrical (by
  204.   powers of 2) patterns in each available color channel.  Not guaranteed to be
  205.   useful to anyone except golfers and upholstry fabric designers.
  206.  
  207.  
  208. Psycho (Stylize menu)
  209.   This generates and applies random sine-wave based color maps to RGB and CMYK
  210.   images.  Bring up a grayscale image and change the mode to RGB, then hit
  211.   'Psycho'.  Now 'Undo' and hit command-F.  Keep doing this until you understand
  212.   what it's doing.  This works best on large areas of fairly continuous tones
  213.   (ie: blurred or smooth).  Another neat trick is to blur an existing color
  214.   image (Gaussian Blur, 6 pixels),  then use 'Psycho' - Instant interference
  215.   fringes (oil slicks to the rest of the world)!
  216.  
  217.  
  218. UnAlias (Blur menu)
  219.   Quick summary: it blurs edges and corners.  It uses an edge detector and a
  220.   threshold value to decide if and how much to blur each pixel. You specify the
  221.   threshold and the maximum amount of blur to apply.  This can be used to
  222.   remove 'jaggies' from imported images - but it takes a bit of practice to
  223.   know how, when, and where to use.
  224.  
  225.  
  226. Edge3x3 (Custom menu)
  227.   This is a simple edge detector that I occasionally find useful (more so than
  228.   'Find Edges').  It's quick, it's simple, it doesn't take long to learn.
  229.   This is a 'Custom' filter that I hard coded. On a 512x512 Grayscale image,
  230.   the 'Custom' filter takes about 20 seconds. My version takes 8.4 seconds
  231.   (on my old, slow MacII).
  232.  
  233.  
  234. Erode (Custom menu)
  235.   Reduces the area of dark regions within the image.  It compares the sum of the
  236.   pixels in the region to a threshold value, then sets the pixel to white if the
  237.   total exceeds the threshold, else it leaves the old pixel value.  You'll
  238.   probably have to play with this one, and I suggest thresholding your first
  239.   few test images to better understand what's happening.  Apply the filter
  240.   repeatedly to an image and watch.
  241.  
  242.  
  243. Dilate (Custom menu)
  244.   This one enlarges the dark regions of the image.  It also compares the sum of
  245.   the pixels to a threshold value, but a bit differently.  Again, play with it
  246.   (basically, that's the only good way to ever learn what a filter/program
  247.   does -- the manual or instructions never do them justice), and again I
  248.   suggest thresholding the first few images.
  249.  
  250.  
  251. Skeleton (Custom menu)
  252.   This is actually a thinning algorithm based on work by Zhang and Suen(CACM,
  253.   March 1984, 236-239).  The filter reduces the dark areas of the image (dark
  254.   defined by a threshold) to their approximate centerline or skeleton.
  255.   You guessed it -- just try the filter.  This one will need to be applied
  256.   repeatedly, until the 'skeletons' are as thin as you want/need them.
  257.  
  258. The Erode, Dilate and Skeleton filters are used in image processing packages,
  259. usually on binary images but with thresholds they can be useful with grayscale
  260. or color.  The thinning algorithm is sometimes used as a preprocessor for image
  261. recognition algorithms (such as OCR).  I use these filters for image processing,
  262. but you may find other uses for them (they can be used to generate some really
  263. weird effects).
  264.  
  265.  
  266. ColorKey (Video menu)
  267.   It turns the filtered image into a mask based on the current foreground color.
  268.   If you select blue for the foreground, then the filter will leave the image
  269.   white wherever the image was near blue, and black where it wasn't.  The filter
  270.   takes a tolerance value which ranges from 0 to 999.  Try selecting a color
  271.   from a varied image and using the filter with different tolerance values.
  272.  
  273.   This filter operates by adding the absolute difference between the foreground
  274.   color and the pixel value (ie: Rdiff + Gdiff + Bdiff) and then comparing that
  275.   against the tolerance.  In theory 765 is the greatest possible color
  276.   difference.
  277.  
  278.  
  279. ChromaKey (Video menu)
  280.   This also generates a mask based on the current foreground color, but uses a
  281.   different technique (and is a little slower).  If you select a pure blue for
  282.   the foreground color and use small tolerance values, then the filter will
  283.   make the image white (or gray) where the image was very near pure blue, and
  284.   black where the image had a different color, saturation, or value.  You will
  285.   need to enter three tolerance values: one each for Hue, Saturation, and Value.
  286.   Again, try this with an arbitrary color and a varied color image.
  287.  
  288.   Beware of red hues, black, white, and grays:  they all have a hue value of 0,
  289.   and will match one another.  This is due to the numerical conventions of the
  290.   HSV color space.  (and I haven't figured out a good way around it)
  291.  
  292.   This filter actually converts the RGB values into HSV, then compares each
  293.   component separately using the tolerance values.  All three channels range
  294.   from zero to 255.  Setting all of the tolerances to 255 should match all
  295.   colors.
  296.   
  297.   At the moment, this filter is limited to operating on RGB images --
  298.   HSV keying on Grayscale is pointless, and CMYK->HSV conversion isn't that
  299.   straightforward.  When I get inspired I'll probably add the CMYK code.
  300.  
  301.  
  302. FastKey (Video menu)
  303.   A filter that makes a mask based on a single RGB value (the current foreground
  304.   color).  This filter has absolutely NO tolerance.
  305.  
  306.  
  307. You can use FastKey, ColorKey or ChromaKey to do video compositing, they just
  308. have different quirks and will usually give different results.  Practice is
  309. needed to know when to use which one, and with what tolerances.  After using the
  310. filters, you use the Image->Calculate->Composite command to do the actual
  311. composite of foreground and background(live and insert/graphics) images.
  312.  
  313.  
  314.  
  315.  
  316.  
  317.